/**
 * 
 */
package br.com.sistransporte.transitedto.permissao;

import br.com.src.dto.abstractdto.AbstractDTO;

/**
 * Classe que representa
 *
 *
 * @author Nelson Luis da Silva Junior <nelson.jr13@hotmail.com@>
 * @since 3 de Jul de 2013 16:15:03
 * @version 1.0
 */
public class PermissaoDTO extends AbstractDTO{
	
	/**
     * 
     */
    private static final long serialVersionUID = -3461473910882186776L;
	private String acao;
	private String nomeTela;

	public PermissaoDTO(){}
	
	public PermissaoDTO(String id){
		setId( id );
	}

	public PermissaoDTO( String id, String acao, String nomeTela ){
		super( id );
		setAcao( acao );
		setNomeTela( nomeTela );
	}

	public final String getAcao() {
		return acao;
	}

	public final void setAcao( String acao ) {
		this.acao = acao;
	}

	public final String getNomeTela() {
		return nomeTela;
	}

	public final void setNomeTela( String nomeTela ) {
		this.nomeTela = nomeTela;
	}

	@Override
	public int hashCode() {
		final int prime = 31;
		int result = 1;
		result = prime * result + ( ( acao == null ) ? 0 : acao.hashCode() );
		result = prime * result + ( ( nomeTela == null ) ? 0 : nomeTela.hashCode() );
		return result;
	}

	@Override
	public boolean equals( Object obj ) {
		if ( this == obj ) {
			return true;
		}
		if ( obj == null ) {
			return false;
		}
		if ( !( obj instanceof PermissaoDTO ) ) {
			return false;
		}
		PermissaoDTO other = (PermissaoDTO) obj;
		if ( acao == null ) {
			if ( other.acao != null ) {
				return false;
			}
		} else if ( !acao.equals( other.acao ) ) {
			return false;
		}
		if ( nomeTela == null ) {
			if ( other.nomeTela != null ) {
				return false;
			}
		} else if ( !nomeTela.equals( other.nomeTela ) ) {
			return false;
		}
		return true;
	}

	@Override
	public String toString() {
		return "PermissaoDTO [getAcao()=" + getAcao() + ", getNomeTela()=" + getNomeTela() + ", hashCode()=" + hashCode() + "]";
	}
}
